import Vue from 'vue';
import axios from 'axios';
import VueAxios from 'vue-axios';

// 在vue对象中挂载$http属性
Vue.use(VueAxios, axios);

// const instance = axios.create({
//   baseURL: 'http://118.89.176.28:8080',
//   timeout: 15000
// });
axios.defaults.baseURL = 'http://118.89.176.28:8080';
axios.defaults.timeout = 15000;

// 这是一个请求拦截器
// Add a request interceptor
axios.interceptors.request.use(function (config) {
  // Do something before request is sent
  // 从session中获取token，绑定到header中
  const token = window.sessionStorage.getItem('token');
  if (token) {
    config.headers.Authorization = token;
  }
  return config;
}, function (error) {
  // Do something with request error
  return Promise.reject(error);
});

// 这是一个应答拦截器
// Add a response interceptor
axios.interceptors.response.use(function (response) {
  // Do something with response data
  console.log(response);
  return response;
}, function (error) {
  // Do something with response error
  return Promise.reject(error);
});

// // 封装的目的是为了能够使用，所以需要导出，以便其他人可以使用
// export default instance;

// 将他导出去
export default axios;
